<template>
    <div>
        <div id="slider" class="mui-slider">
			<div id="sliderSegmentedControl" class="mui-scroll-wrapper mui-slider-indicator mui-segmented-control mui-segmented-control-inverted">
				<div class="mui-scroll">
					<!-- 默认设置`全部分类`被高亮选中:通过:`class`结合三元表达式，把`id`为0那一项分类，设置为默认选中; -->
					<span :class="['mui-control-item',item.id===0 ? 'mui-active':'']" v-for="item in category" :key="item.id" @tap="getPhtotByCategory(item.id)">
						{{ item.title }}
					</span>
				</div>
			</div>
		</div>

		<!-- 图片列表区域 -->
		<ul class="lazyul">
			<router-link tag="li" v-for="item in photolist" :key="item.id" :to="'/home/photoinfo/'+item.id">
				<!-- v-lazy要指定图片的地址 -->
				<img v-lazy="item.img_url">
				<div class="info">
					<h1 class="info-title">{{item.title}}</h1>
					<div class="info-content">{{item.zhaiyao}}</div>
				</div>
			</router-link>
		</ul>
    </div>
</template>
<script>
import mui from "../../../lib/mui/js/mui.js"
export default {
    data(){
        return {
			category:[],//所有图片分类依据
			photolist:[],//图片列表
		};
	},
	created(){
		this.getPhotoCategory();
		this.getPhtotByCategory(0);
	},
    methods:{
		async getPhotoCategory(){
			const {data}  = await this.$http.get('/api/getimgcategory');
			if(data.status === 0 ){
				//手动把`全部`分类信息，通过数组的 unshift 方法，头部追加到数组中
				data.message.unshift({title:"全部",id:0});
				this.category = data.message;
			}
		},
		async getPhtotByCategory(id){
			const {data} = await this.$http.get('/api/getimages/'+ id);
			if(data.status===0) return this.photolist = data.message;
		},
	},
    mounted(){
        //当此钩子函数执行的时候，我们才可以进行控件或插件的初始化工作;
        mui('.mui-scroll-wrapper').scroll({
            deceleration: 0.0005 //flick 减速系数，系数越大，滚动速度越慢，滚动距离越小，默认值0.0006
        });
    }
}
</script>
<style lang="scss" scoped>
.mui-slider{
    touch-action: pan-x;
}

.lazyul{
	margin: 0;
	padding: 10px;
	li{
		background-color: #ccc;
		text-align: center;
		box-shadow: 0 0 7px gray;
		position: relative;
		// margin-bottom: 10px;
		& + li{
			margin-top: 10px;
		}
		img{
			vertical-align: middle;
			width: 100%;
		}
		img[lazy=loading]{
			width: 40px;
			height: 300px;
			margin: auto;
		}
	}	
}
.info{
	position: absolute;
	bottom: 0;
	color:#fff;
	background-color: rgba(0,0,0,0.5);
	max-height:86px;
	overflow: hidden;
	.info-title{
		font-size: 14px;
	}
	.info-content{
		font-size: 13px;
		text-align: left;
		text-indent: 2em;
	}
}

</style>